package com.hairline.mapper;

import com.hairline.bean.Order;
import com.hairline.bean.OrderExample;
import java.util.List;

import com.hairline.bean.bo.ShipOrderBO;
import com.hairline.bean.vo.UserIndexOrderVO;
import org.apache.ibatis.annotations.Param;

public interface OrderMapper {
    long countByExample(OrderExample example);

    int deleteByExample(OrderExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(Order record);

    int insertSelective(Order record);

    List<Order> selectByExample(OrderExample example);

    Order selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") Order record, @Param("example") OrderExample example);

    int updateByExample(@Param("record") Order record, @Param("example") OrderExample example);

    int updateByPrimaryKeySelective(Order record);

    int updateByPrimaryKey(Order record);

    int shipOrder(ShipOrderBO shipOrderBO);

    int count();

    UserIndexOrderVO selectOrderInfoForIndex(Integer id);

    int updateOrderStatusById(@Param("orderId") Integer orderId, @Param("newOrderStatus") Integer newOrderStatus);
}
